import axios from "axios"

const request = axios.create({
  baseURL: import.meta.env.VITE_BASE_URL,
  timeout: 5000
})

// 添加请求拦截器
request.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  // console.log(config)
  config.headers['x-client-info'] = '{"a":"3000","ch":"1002","v":"5.2.1","e":"17518697154209188209164289","bc":"110100"}'
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
request.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  return response;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  return Promise.reject(error);
});


export const getRequest = <T, Y>(params: T, path: string) => {
  return request.get<Y>('/api',
    {
      params,
      headers: {
        'x-host': 'mall.film-ticket.' + path
      }
    }
  )
}

export const postRequest = <T, Y>(data: T, path: string) => {
  return request.post<Y>('/api',
    data,
    {
      headers: {
        'x-host': 'mall.film-ticket' + path
      }
    }
  )
}

export default request
